/***********************************************
 This file is part of redia-library-app-ios.
 
 Copyright (c) 2012, 2013 Redia A/S
 
 Redia-library-app-ios is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation, either version 3 of the License, or
 (at your option) any later version.
 
 Redia-library-app-ios is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License
 along with redia-library-app-ios.  If not, see <http://www.gnu.org/licenses/>.
 
 *********************************************** */


#import "LoadImageCounter.h"


@implementation LoadImageCounter

- (id)initWithMaxCount:(int)maxCount delegate:(id<LoadImageCounterDelegate>)d;
{
	self = [super init];
	if (self != nil) {
		notifyAtCount = maxCount;
		currentCount = 0;
		errorCount = 0;
		delegate = d;
	}
	return self;
}

- (void)imageLoaded:(UIImage*)theImage
{
	@synchronized(self) {
		currentCount++;
		if (currentCount >= notifyAtCount) {
			[delegate notifyCountReached:self errorCount:errorCount];
		}
	}
}
- (void)loadImageError
{
	@synchronized(self) {
		currentCount++;
		errorCount++;
		if (currentCount >= notifyAtCount) {
			[delegate notifyCountReached:self errorCount:errorCount];
		}
	}
	
}

- (void)skipOne
{
	[self imageLoaded:nil];
}

@end
